package main

import "fmt"

// 什么是指针？
// 一个指针变量指向了一个值的内存地址
// 如何使用指针？
// 定义指针变量 - 为指针变量赋值 - 访问指针变量中指向地址的值
func main() {
	var a int = 10
	fmt.Printf("变量的地址：%x\n", &a)

	println("=======================================")
	pointer()
}

// 在指针类型前面加上*号（前缀）来获取指针所指向的内容。
func pointer() {
	//声明实际变量
	var a int = 20
	//声明指针变量
	var ip *int

	//指针变量的存储地址
	ip = &a

	fmt.Printf("a 变量的地址是：%x\n", &a)
	fmt.Printf("ip 变量存储的指针地址：%x\n", ip)

	//使用指针访问值
	fmt.Printf("*ip 变量的值：%d\n", *ip)
}
